Climbing Stairs Interview Question Explained | Top Down Dynamic Programming | Java